const express = require('express');
const {random} = require('lodash');
const app = express();
const fs = require('fs');
const _ = require('lodash');
//获取客户端 ip 地址   
app.use(function(request, response, next){
    // access 访问进入  control 控制  allow 允许  origin 源
    response.setHeader('Access-Control-Allow-Origin', "*");  //任何页面发送请求都允许跨域请求
    // // response.setHeader('Access-Control-Allow-Origin', "http://127.0.0.1:5500");  //任何页面发送请求都允许跨域请求
    response.setHeader('Access-Control-Allow-Headers', "*"); //该响应头 允许客户端可以设置『自定义』请求头
    response.setHeader('Access-Control-Allow-Methods', "*"); //允许各种请求方式进行跨域请求 PUT  PATCH
    response.setHeader('Access-Control-Expose-Headers', "*"); //暴露响应头信息
    next();
});

//路由规则
app.get('/tong-yuan', (req, res) => {
    //响应 HTML 形式的响应体
    let html = fs.readFileSync(__dirname+'/../2-跨域/0-同源策略/home.html');
    //响应
    res.end(html);
});

//创建路由规则
app.all('/server', (req, res) => {
    res.send('HELLO AJAX 123xx123456');
});

//路由规则
app.all('/json-server', (req, res) => {
    //获取手机号
    let phone = req.query.phone;
    console.log(phone);
    //设置 JSON 格式的响应体
    res.json({
        msg: '此用户名已经存在',
        code: '001'
    });
})

//延时响应
app.all('/delay-server', (req, res) => {
    setTimeout(() => {
        res.send('这是一个响应哦!');
    }, 3000);
});

app.all('/jsonp-server', (req, res) => {
    //获取请求的 cb 参数
    let {cb} = req.query;
    //要显示的数据
    // let data = '今天是端午节前的最后一天~~ 大家不要激动~';
    let data = {
        holiday: '端午节',
        msg: 'easy easy 不要太激动~~'
    }
    //将对象转化为 JSON 字符串
    let json = JSON.stringify(data);
    //设置响应头
    res.setHeader('Content-type','application/javascript; charset=utf-8')
    res.end(`${cb}(${json})`);
    //send 当参数为字符串的时候, 自动这个类型为: text/html
});

app.all('/del', (req, res) => {

})

app.listen(80, () => {
    console.log('服务已经启动....');
})
